package com.bf.electroplating.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 企业排污口监测标准表
 *
 * @author system
 * @since 2025-01-11
 */
@Getter
@Setter
@TableName("enterprise_outfall_standard")
@Schema(description = "企业排污口监测标准表")
public class EnterpriseOutfallStandard implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "排污口ID")
    @TableField("outfall_id")
    private Long outfallId;

    @Schema(description = "企业ID")
    @TableField("enterprise_id")
    private Long enterpriseId;

    @Schema(description = "COD标准值(mg/L)")
    @TableField("cod_standard_value")
    private BigDecimal codStandardValue;

    @Schema(description = "氨氮标准值(mg/L)")
    @TableField("ammonia_nitrogen_standard_value")
    private BigDecimal ammoniaNitrogenStandardValue;

    @Schema(description = "总磷标准值(mg/L)")
    @TableField("total_phosphorus_standard_value")
    private BigDecimal totalPhosphorusStandardValue;

    @Schema(description = "总氮标准值(mg/L)")
    @TableField("total_nitrogen_standard_value")
    private BigDecimal totalNitrogenStandardValue;

    @Schema(description = "总铜标准值(mg/L)")
    @TableField("total_copper_standard_value")
    private BigDecimal totalCopperStandardValue;

    @Schema(description = "总铬标准值(mg/L)")
    @TableField("total_chromium_standard_value")
    private BigDecimal totalChromiumStandardValue;

    @Schema(description = "总锌标准值(mg/L)")
    @TableField("total_zinc_standard_value")
    private BigDecimal totalZincStandardValue;

    @Schema(description = "PH最小值标准")
    @TableField("ph_min_standard_value")
    private BigDecimal phMinStandardValue;

    @Schema(description = "PH最大值标准")
    @TableField("ph_max_standard_value")
    private BigDecimal phMaxStandardValue;

    @Schema(description = "流量标准值(m³/h)")
    @TableField("flow_rate_standard_value")
    private BigDecimal flowRateStandardValue;

    @Schema(description = "标准名称")
    @TableField("standard_name")
    private String standardName;

    @Schema(description = "标准编号")
    @TableField("standard_code")
    private String standardCode;

    @Schema(description = "生效日期")
    @TableField("effective_date")
    private LocalDate effectiveDate;

    @Schema(description = "失效日期")
    @TableField("expiry_date")
    private LocalDate expiryDate;

    @Schema(description = "是否生效：1-生效，0-失效")
    @TableField("is_active")
    private Boolean isActive;

    @Schema(description = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;

    @Schema(description = "创建人")
    @TableField("create_by")
    private String createBy;

    @Schema(description = "更新人")
    @TableField("update_by")
    private String updateBy;
}
